package xin.marcher.wind.process.service;

import xin.marcher.wind.process.domain.dto.ProcessConfigDTO;
import xin.marcher.wind.process.domain.request.SaveProcessConfigRequest;

import java.util.List;

/**
 * 流程配置service
 * 
 * @version 1.0
 */
public interface ProcessConfigService {

    /**
     * 保存流程配置
     * @param request 请求
     */
    void save(SaveProcessConfigRequest request);

    /**
     * 删除流程
     * @param name 流程名称
     */
    void delete(String name);

    /**
     * 查询流程配置详情
     * @param name 流程节点名称
     * @return 响应
     */
    ProcessConfigDTO detail(String name);

    /**
     * 流程节点列表展示
     * @return 响应
     */
    List<ProcessConfigDTO> list(List<Integer> enables);

    /**
     * 启用/禁用
     */
    void enable(String name, Integer enable);

    /**
     * 发布流程
     */
    void release();
}
